#include "defs.h"
#include "matriz.h"
#include "sistemas.h"

int n;

int main(int argc, char** argv)
{
	//~ bool pelea = false;
	//~ 
	//~ if (argc == 5)
	//~ {
		//~ /* Otros tiros. */
		//~ pelea = true;		
	//~ }
	//~ else if (argc != 3)
	//~ {
		//~ /* Error. */		
		//~ cout << "No. " << endl;		
	//~ }
		//~ 
	//~ int a;
	//~ double aux;
	//~ int turno = 0;
	//~ 
	//~ /* Archivos. */
	//~ string 	 pos (argv[1]);
	//~ ifstream posicion(pos.c_str());
	//~ string 	 out (argv[2]);
	//~ ofstream salida(out.c_str());	
	//~ 
	//~ /* Leer posición. */
	//~ posicion >> a >> n;	
	//~ 
	//~ /* Variables. */
	//~ Matriz matriz (n, Vector(n));
	//~ Vector x (n);
	//~ 
	//~ forn(i, n)
	//~ {		
		//~ posicion >> aux;
		//~ x[i] = aux;
	//~ }
		//~ 
	//~ if (pelea)
	//~ {		
		//~ /* Más archivos. */
		//~ string 	 ult (argv[3]);
		//~ ifstream ultimo(ult.c_str());
		//~ string 	 ant (argv[4]);
		//~ ifstream anteriores(ant.c_str());
	//~ 
		//~ /* Último: d y matríz. */
		//~ Vector d (n);
		//~ Matriz M (n, vdouble(n));
		//~ 
		//~ ultimo >> turno >> a;
		//~ 
		//~ if (a != n)
		//~ {
			//~ cout << "Error! No es la misma dimensión" << endl;
			//~ exit(1);
		//~ }
		//~ 
		//~ /* Leer d. */
		//~ forn(i, n)
		//~ {		
			//~ ultimo >> aux;
			//~ d[i] = aux;
		//~ }
		//~ 
		//~ /* Leer matríz. */
		//~ forn(i, n)
		//~ {
			//~ forn(j, n)
			//~ {
				//~ ultimo >> aux;
				//~ M[i][j] = aux;
			//~ }
		//~ }
				//~ 
		//~ /* Leer nuestro archivo con datos auxiliares. */
		//~ ifstream auxiliares("datosAux.txt");
		//~ 
		//~ /* Resolver sistema Ax = b recibe A, b, x. */
		//~ Vector aproximacion (n);
		//~ 
		//~ solve(M, d, aproximacion, n);
		//~ buscarMatriz(matriz, aproximacion, x, n);
		//~ 
		//~ /* Disparos anteriores. */
		//~ /* Leemos las aproximaciones de la posición del otro que hicimos 
		 //~ * en cada turno junto con una medida de confiabilidad.
		 //~ * Para disparar se usa un promedio ponderado de las posiciones. */
	//~ }
	//~ else
	//~ {
		//~ matrizInicial(matriz, x, n);
	//~ }
	//~ 
	//~ /* Salida */
	//~ Vector disparo (n);	
	//~ matrizPorVector(matriz, x, disparo, n);
	//~ 
	//~ salida << turno+1 << endl;
	//~ salida << n << endl;
	//~ 
	//~ /* Vector d */
	//~ forn(i, n)		
		//~ salida << disparo[i] << " ";
	//~ salida << endl;
	//~ 
	//~ /* Matríz usada */
	//~ forn(i, n)
	//~ {
		//~ forn(j, n)
			//~ salida << matriz[i][j] << " ";
			//~ 
		//~ salida << endl;
	//~ }
	
	return 0;
}
